home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / comm2 / xtick403.lha / DOC / XTick.doc < prev   
Text File  |  1995-08-11  |  33KB  |  804 lines

  1.   
  2.  
  3.                    XTick - File Forwarder for the Amiga
  4.        Copyright (c) 1995 by Robert Williamson, FIDONET#1:167/104.0
  5.                             ALL RIGHTS RESERVED
  6.  
  7.         This  software  is  provided  "as  is",  without warranty and/or
  8.     guarantee  of any kind.  You may use and/or distribute this software
  9.     and copies of it, as long as no alterations have been made, no files
  10.     have  been  added  to/omitted from the original distribution archive
  11.     and no charge is asked for.
  12.         This package may be freely distributed via BBSs, ADS, AmiNet and
  13.     software libraries such as Fred Fish's and Aminet CD-ROMs, and other
  14.     similar electronic channels.
  15.  
  16.         This  package  may  NOT  be  distributed SAN, Disk magazines, PD
  17.     libraries or BBSs and Services that charge  extra for file transfers
  18.     without authorization from, and compensation to the author.
  19.  
  20.  
  21.   What is a File Forwarder?
  22.  
  23.     File  Forwarder  is  the  generic  class  name  for  programs  used  to
  24.   automatically distribute files via an FidoNet Technology Network (FTN).
  25.     The  general  specifications for File Forwarders were first proposed in
  26.   the document FSC-0028.txt.  However, this document is simply a discussion
  27.   and  does  not cover what is now known as Common Practice, the real-world
  28.   operation   of   File   Forwarders.   Included  in  the  distribution  is
  29.   bw_forward.txt,  a  proposal for File Forwarding that has been or will be
  30.   submitted to the FTSC.
  31.     XTick meets all the primary requirements and supports most, if not all,
  32.   of  the  proposed extensions for the TIC file format as well as many that
  33.   are in common usage.
  34.  
  35.     A File Forwarder performs three basic FTN functions:
  36.  
  37.       - Hatchs a program into a FileEcho
  38.       - Processes a TIC file for a file received in a FileEcho
  39.       - Forwards TIC'ed files to downlinks
  40.  
  41.     XTick does much more.
  42.  
  43.   
  44.   Status of This Release:
  45.     This  is  BETA  and  given the great number of features it probably has
  46.   bugs.  In the case of a serious ERROR, and if the error conditions allow,
  47.  
  48.               XTick WILL AUTOMATICALLY WRITE A MESSAGE to ME
  49.                                 at  either
  50.                FIDONET#1:167/104.0 or AMIGANET#40:600/104.0.
  51.  
  52.     BE  SURE  that you have set these addresses as ROUTED in your tosser or
  53.   packer/router   config   BEFORE  running  XTick,  so  as  not  to  incure
  54.   long-distance charges.
  55.  
  56.     The  LogLevel  for  log messages is presently set quite low in order to
  57.   display  a  lot  of progress info for debugging.  At a LOGLEVEL of 3, the
  58.   log  will  grow very fast.  At a later date, loglevels will be changed to
  59.   insure a minimal amount of info for normal processing.
  60.  
  61.     This  documentation may not be always up to date, as features are being
  62.   added  at  a  very quick pace.  Refer to the example XTick.cfg for config
  63.   changes and the XTick USAGE display for command line changes.
  64.  
  65.     The  ToDo  list  is  changed  daily, items being either implemented and
  66.   removed  from  the list or new items added.  There is no obligation on my
  67.   part to implement anything in the ToDO list unless a contract to do so is
  68.   entered into by myself and a customer.
  69.  
  70.   Copyrights:
  71.     XTick, XTick.doc and the format of XTick.cfg are all,
  72.        Copyright (c) 1995 by Robert Williamson, FIDONET#1:167/104.0
  73.  
  74.     XTcrc  is  based  upon CRC32, originally compiled by Juergen Hermann of
  75.     2:507/646  which  was  based  upon  the  crc  routines from rz/sz.  The
  76.     following  copyrights  are  extracted  from  that source and are hereby
  77.     acknowledged.
  78.  
  79.       updcrc macro derived from article Copyright (C) 1986 Stephen Satchell
  80.       Programmers may incorporate any or all code into their programs,      
  81.       giving proper credit within the source. Publication of the          
  82.       source routines is permitted so long as proper credit is given      
  83.       to Stephen Satchell, Satchell Evaluations and Chuck Forsberg,      
  84.       Omen Technology.                              
  85.  
  86.     XTcrc here has been modified and optimized for speed and to be PURE and
  87.   residentable.   It will return a CRC of 00000000 instead of text messages
  88.   on error.
  89.  
  90.  
  91.   Why another File Forwarder program?
  92.     I  have  been using Peer's Ftick for a few years, but have been unhappy
  93.   with the lack of development and bugfixs.  Some of unresolved bugs forced
  94.   me  to  add a frontend for it.  For example, FTick chokes on tic keywords
  95.   and  addressing  modes  that  it  does  not  know.   I found that Ftick's
  96.   multi-ftn  handling  to  be poor, forcing me to use separate config files
  97.   for  each  FTN.  FTick could also not handle primary files renamed by the
  98.   mailer  when  a  dupe was already present, nor would it cleanup TIC files
  99.   that  were not sent when the same file was being re-hatched.  Since FTick
  100.   used  only the old Flow File system, I also had to run either the Shelter
  101.   flocvt  or the XQ FLO-convertor after every FTick run on my xferq system.
  102.   I  was  also  not able to execute more than one command on Hatch or Tick.
  103.   There  were  cases  where  I  wanted  to execute both the GLOBAL and AREA
  104.   commands.
  105.     After  writing  FQuery,  I  found  myself  at  the point where the File
  106.   Forwarding  function  was  the only FTN function left for which I did not
  107.   have  source or did not write myself.  As I had been thinking I long time
  108.   about  what  I  required  in  a File Forwarder, I decided to implement my
  109.   requirements.   It wasn't easy, the version number reflects the number of
  110.   times a Make was done.
  111.  
  112.   Raid Support:
  113.     Other  than  the  REPORT  function,  XTICK  does  not perform any other
  114.   RAID-type function.  A companion utility, XRAID, is available, which uses
  115.   the same configuration file as XTick.
  116.  
  117.   Requirements:
  118.     WB 2.1 MINIMUM
  119.     rexxdossupport.library v2.3
  120.     The  AmigaOS commands List and Assign must be either resident or on the
  121.     path.
  122.  
  123.   Features:
  124.     o pure, residentable
  125.     o multi-ftn
  126.     o supports BOTH XferQ and Flow File systems
  127.     o handles files renamed by mailer's extension change
  128.     o deletes and de-queues old TICs when re-hatching same file
  129.     o can do renames instead of delete/overwrite on Hatch and Replace
  130.     o can perform FileName Conversion per SITE with optional Fullname
  131.     o permits cross-hatch based upon filespecs from one Area to another
  132.     o supports extended tic format (To,LDesc,Size,Magic,Areadesc,Fullname,Via,etc)
  133.     o does not fail on unknown tic file keywords
  134.     o can strip seenbys that are outside ftn, zone or net
  135.     o can save Created as Vias for File Forwarder tracking
  136.     o GLOBAL options to enable tic extensions with SITE disable overrides
  137.     o can use 3d/4d, or FQFA tic format per SITE
  138.     o advanced config format allows multiple keywords per line
  139.     o can hatch with Magic, Replaces and Description via commandline
  140.     o can hatch with a ticinfo file to include in tic file
  141.     o GLOBAL options can be overidden by SITE or AREA options
  142.     o SITE options can be overidden by SITE's AREA options
  143.     o SITE and AREA passwords 
  144.     o GLOBAL post announcements for tick or hatch in multiple echos
  145.     o per AREA post announcements for tick or hatch in multiple echos
  146.     o config report to all or one SITE
  147.     o extensive command parameter substitution available
  148.     o configurable commands w/substitution for packing and importing
  149.     o configurable GLOBAL commands w/substitution for tick or hatch
  150.     o configurable AREA commands w/substitution for tick and hatch
  151.     o AREA commands can be executed INSTEAD or IN ADDITION to GLOBAL
  152.     o AREA commands can be executed BEFORE or AFTER GLOBAL comamnds
  153.     o multiple commands can be defined for all types
  154.     o displayable SITE config, AREA config and GLOBAL config
  155.     o send .tic, fileattach pkt, both or neither per SITE AND per AREA
  156.     o notification message for all errors in tic files
  157.     o will also use RoofLog function host if active.
  158.  
  159.   See ToDO for future features.
  160.  
  161.   Installation:
  162.     Be  sure that your dearc command preserves attributes.  If it does not,
  163.   run:
  164.     > Protect Mail:XTick pwerd
  165.     > Protect Mail:XTcrc pwerd
  166.  
  167.     Copy  XTick  and  XTcrc to somewhere on your path, MAIL:  is nice.  For
  168.   faster loading, you can pre-load them as resident with these commands:
  169.     > Resident Mail:XTick ADD
  170.     > Resident Mail:XTcrc ADD
  171.  
  172.     Be  SURE  you  do  not have any other programs called XTick or XTcrc on
  173.   your path.
  174.  
  175.     If  you do not have a CFG:  assign, create one and place your XTick.CFG
  176.   there.   Otherwise,  you  will  have  to  specify the CFGFILE path on the
  177.   commandline.   If  you are going to do it anyways, then a good idea is to
  178.   copy the config to RAM:  in your startup and use
  179.           CFGFILE RAM:XTick.CFG 
  180.   in your XTick command lines.  This will speed up operations as bit more.
  181.  
  182.     Copy  rexxdossupport.library  and rexxplslib.library to any directory of
  183.   your LIBS:  assign.
  184.  
  185.    Copy  Start-ARexx  to  S:.   Then  remove  the call to RexxMast in your
  186.   S:Startup-Sequence and add a call to S:Start-ARexx to your S:User-Startup.
  187.   
  188.     Copy RPStart#? to your SYS:WBstartup directory. 
  189.  
  190.     Mailer Installation:
  191.  
  192.       Shelter Mailers:
  193.         Since  Shelter Mailers use inbound file notification per file type,
  194.     you have a choice on how to invoke XTick.  Depending upon the cpu speed
  195.     of your system you can EITHER process TICs WHENRECD or AFTERSESS.
  196.  
  197.           WHENRECD:
  198.             TICKRECD  "Run >NIL: XTick TICKFILE $(indir)$(infile)"
  199.           AFTERSESS:
  200.             TICKSESS  "Run >NIL: XTick SCANTIC $(indir)"
  201.  
  202.       TrapDoor and similar:
  203.         TrapDoor  does  not provide any sort of notification.  Therfore you
  204.       will have to scan your inbound for TIC files.
  205.         I am not aware of the features of GMS and XenoLink mailers.
  206.  
  207.       Add the following to your AfterSession script:
  208.             Run >NIL: XTick SCANTIC path
  209.       'path' should be your Inbound directory.
  210.  
  211.       JamMail:
  212.         Same as TrapDoor.
  213.  
  214.       Others:
  215.         Let me know, I'll add it here.
  216.  
  217.  
  218.   Templates: 
  219.     XTick  uses standard AmigaDos Templates for both command line arguments
  220.   and  for  many  configuration  items.  See Xconfig.DOC for explanation of
  221.   templates used.
  222.  
  223.   Command Line Usage:
  224.     The  various  modes  allows  use  of  XTick in WhenRecd, TurnAround and
  225.   AfterSession  commands as well as in a cli.  The template is divided into
  226.   functional sets.  A Set is defined by the first parameter you give.
  227.  
  228.     DEBUG  and  CFGFILE  may  be used with any set, but may not be the last
  229.   items  in  the  command  line  if  a /F template is specified in the set.
  230.   Template  parameters  that  are  not  valid for the set are ignored.  The
  231.   template below shows each Set.
  232.     Any  of the addressing formats defined below can be used on the command
  233.   line.
  234.  
  235.     Template:
  236.     SHOWCFG/S
  237.     SHOWSITE/K,SHOWAREA/K,
  238.     REPORT/K,
  239.     SCANTIC/K,NOCRC/S,
  240.     TICKFILE/K,NOCRC/S
  241.     HATCHFILE/K,FILEAREA/K,TICINCLUDE/K,MAGICNAME/K,REPLACE/K,DESCRIPTION/K/F
  242.  
  243.     DEBUG/S,CFGFILE/K (all sets)
  244.  
  245.  
  246.     SCANTIC directory_to_scan [CFGFILE ...] [DEBUG] [NOCRC]
  247.       Scans directory for tic files and processes any found.
  248.  
  249.     TICKFILE ticfilefullpathname [CFGFILE ...] [DEBUG] [NOCRC]
  250.       Processes the received TIC file.
  251.  
  252.     HATCHFILE FullPathName FILEAREA FileEchoArea [CFGFILE ...] [DEBUG] ... 
  253.     ... TICINCLUDE IncludeFile MAGICNAME magicname REPLACE filename ...
  254.     ... DESC description of file [CFGFILE ...] [DEBUG]   
  255.       Hatches the file specified into the AREA specified to all sites
  256.       configured for that AREA.
  257.  
  258.       TICINCLUDE  is  OPTIONAL  and  is a file containing extra TIC info to
  259.       include in TIC files. (See Tic Include File section for vaid keywords
  260.       than can be included) This file MUST have an extension of ".TINC".
  261.       MAGICNAME  is  OPTIONAL and if used will add the 'Magic' field to TIC
  262.       files.  
  263.       REPLACE  is OPTIONAL and if used will add the 'Replaces' field to TIC
  264.       files.
  265.       DESCRIPTION is OPTIONAL and will be used instead of filenote or DESC
  266.       field in TICINCLUDE
  267.           
  268.  
  269.     NOCRC
  270.       This switch forces XTick to accept files with BAD or MISSING CRC's
  271.  
  272.     SHOWCFG [CFGFILE ...] [DEBUG]
  273.       Displays configuration
  274.  
  275.     SHOWAREA filearea [CFGFILE ...] [DEBUG]
  276.       Display configuration for an FILEAREA
  277.  
  278.     SHOWSITE address|ALL [CFGFILE ...] [DEBUG]
  279.       Display options for a site and areas to which it is connected
  280.  
  281.     REPORT address|ALL  [CFGFILE ...] [DEBUG]
  282.       Sends  a  report  to site.  If site is ALL, this will send reports to
  283.       ALL configured sites except those configured for NOREPORT.
  284.       usage in cron: 30 03 * * 1 XTick REPORT ALL
  285.  
  286.     CFGFILE fullpathname
  287.       Defines the fullpath  name  for  the  XTick configuration file.  The
  288.       default is CFG:XTICK.CFG
  289.  
  290.     DEBUG
  291.       Displays  VERBOSE  info  and is valid with each operating mode.  When
  292.       DEBUG  is  set,  the window is not opened, everything is displayed in
  293.       the  current  CLI.   The amount of info displayed is MASSIVE.  In the
  294.       case of reported bugs, a copy of this will be required.
  295.  
  296.   Configuration:
  297.     The  default  fullpathname of the configfile is CFG:XTick.cfg.  You can
  298.   specify an alternate fullpathname on the command line.
  299.  
  300.     Please  see Xconfig.DOC for explanation of config file format, keywords
  301.   and templates.
  302.  
  303.   Addressing:
  304.     Addresses  can  be  specified in a number of formats in both the config
  305.   and  on  the  command  line,  the  preferred  being  FQFA.   The  minimum
  306.   acceptable  is  3d  (z:net/node.) for FidoNet and FTNS listed in FTNLIST.
  307.   All other FTNs must be specified as 5D or FQFA.
  308.  
  309.         Address Formats:
  310.             FQFA  -   ftn#zone:net/node.point   (all must be present)
  311.             5d    -   zone:net/node[.point]@ftn (if no point, 0 is assumed)
  312.             4d    -   zone:net/node.point
  313.             3d    -   zone:net/node
  314.  
  315.   
  316.   Reports:
  317.     If  you  wish  to send reports on a weekly basis to all your links that
  318.   are not marked with NOREPORT, add the following to your cron config: 
  319.           30 03 * * 1 XTick REPORT ALL
  320.     Reports  will  be  written  as  packets in the global OUT directory and
  321.   packed/routed by the defined PACKER command.
  322.  
  323.  
  324.   Notification Messages:
  325.     If  an  error  is  encountered processing a TIC file, a message will be
  326.   sent  to  the  sending site with a copy of the main parts of the TIC file
  327.   and  an indication of the error.  The messages will be written as packets
  328.   in  the  global  OUT  directory  or  the AREA's OUT over-ride and will be
  329.   packed/routed  by  the defined PACKER command.  In the case where an area
  330.   does  not exist or we are not configured for an area, a message will also
  331.   be sent to ourselves.
  332.  
  333.  
  334.   EXEC Commands and AREA Overides:
  335.     The  following  commands can use command parameter expansion templates.
  336.   Multiple commands can be defined within each type.
  337.  
  338.     PACKER <command>       - GLOBAL, no AREA overide
  339.     IMPORTER <command>     - GLOBAL, no AREA overide
  340.  
  341.     The  parameters  of  the  above  two  will  be related to the LAST AREA
  342.   processed.   The  parameters  of  the  following  will  be related to the
  343.   CURRENT area.
  344.  
  345.     HATCHEXEC <command>   - GLOBAL default
  346.     TICKEXEC <command>    - GLOBAL default
  347.  
  348.     AHATCHEXEC <command>  - AREA override
  349.     ATICKEXEC <command>   - AREA override
  350.  
  351.       
  352.   Multiple Commands:
  353.     Multiple  commands  are created by separating each with a '»'.  This is
  354.   ALT-0  on  NA  keyboard.   It  will be displayed as a double greater-than
  355.   character  or  a  double  top-right corner character, depending upon your
  356.   font.   When  the  »  is  detected  in  a command string, it is converted
  357.   internally to a linefeed.  This function requires that the AmigaDos shell
  358.   be available.
  359.  
  360.       Eg: 
  361.         HATCHEXEC "UpdateArea %p»echo >>ram:freq.lst %n %m"
  362.  
  363.     This  would  execute  my  command to update the files.bbs for that path
  364.   specified  and then append the filename and fullpathname to my freq list.
  365.   This of course can be easily done in a simple script.  However, there may
  366.   be  cases  where one wants something different for a particular area, and
  367.   does not wish to write special scripts for such areas.
  368.  
  369.  
  370.     AREA EXEC Overrides:
  371.     AHATCHEXEC "[+]<command>[+]"
  372.     ATICKEXEC "[+]<command>[+]"
  373.  
  374.     If  an  'A*EXEC' AREA override is defined within an AREA structure, the
  375.   command  only  applies  to  that  AREA.  If the GLOBAL is defined (at the
  376.   beginning of the configuration file), that command is executed on receipt
  377.   or hatch of files for every AREA that does NOT have an 'A*EXEC' override.
  378.  
  379.       If  the  AREA  override  is  not specified, the GLOBAL command will be
  380.     executed.
  381.       If  the  AREA  overide  is set to OFF, the GLOBAL command will NOT be
  382.     executed (similar to Ftick's NOEXECUTE).
  383.       If  the  AREA  overide  does  specify  a command, it will be executed
  384.     INSTEAD of the GLOBAL command unless prefixed or suffixed with a '+'.
  385.  
  386.       If the AREA overide command is preceeded by a '+', the GLOBAL command
  387.     is  NOT  over-ridden.   The  GLOBAL command WILL be executed BEFORE the
  388.     AREA command.
  389.       eg: ATICKEXEC "+UpdateArea %p"
  390.  
  391.       If  the AREA overide command is followed by a '+', the GLOBAL command
  392.     is not over-ridden.  The GLOBAL command WILL be executed AFTER the AREA
  393.     command.
  394.       eg: ATICKEXEC "UpdateArea %p+"
  395.  
  396.         NOTE:  this feature may not work properly if you are using
  397.                a Shell other than AmigaDOS.
  398.  
  399.  
  400.  
  401.   Tic Include File (TINC file):
  402.     The  HATCHFILE TICINCLUDE option of XTick and the TICMODES option USETI
  403.   allow  one  to  specify a file to include in the created tics.  This file
  404.   would  be  used  to add keywords not normally passed though or created by
  405.   XTick, to add long descriptions and other information.
  406.     The  file specified on the command line is used if found, otherwise, if
  407.   USETI is true and a TINC file is found in the file area, it will be used.
  408.   
  409.   Keywords in this catagory include:
  410.  
  411.       APP [programname] [data]
  412.       Release [UnixTimeStamp]
  413.       Author [name]
  414.       Source [authors_address]
  415.       Date [unixtimestamp]
  416.  
  417.     See  "Format  of  a  TIC  file" below or forward.txt for description of
  418.   these keywords.
  419.  
  420.       Desc [file description]
  421.         If  found  in  TICINCLUDE  file,  it  will  be  used instead of the
  422.         filenote.   This allows XTick to be independant of the many formats
  423.         used to store file descriptions.
  424.  
  425.       LDesc [multi-line file description]
  426.         If found in TICINCLUDE file, and the TICMODE USEMLD is TRUE and the
  427.         SITE  option  NOML  is FALSE, the LDESC lines will be copied to the
  428.         TIC file for that site.  This allows XTick to be independant of the
  429.         many formats used to store file descriptions.
  430.  
  431.  
  432.   Cross Hatching:
  433.     Cross  Hatching  is used to forward particular files from one file echo
  434.   to  another.   This  is  most usually used when a fileecho is restricted.
  435.   For example, a net hub which receives the FileEchos BACKBONE and FILEBONE
  436.   generally  does  not  forward  these  echos to anyone.  However, they may
  437.   specify  that  certain  files from these FileEchos be fowarded in a local
  438.   fileecho.  For the above echos, an example would be:
  439.  
  440.       AREA BACKBONE APATH ......
  441.       CROSSHATCH ECHOS167 POL#? Elist#?.#? FIDONET.N? FIDOSTAT.NA
  442.  
  443.       AREA FILEBONE APATH ......
  444.       CROSSHATCH ECHOS167 FILEBONE.N? FILEBONE.ECH
  445.  
  446.       Of  course,  an  AREA  setup  must exist for the tagname specified in
  447.     CROSSHATCH.
  448.  
  449.   Uplinks:
  450.     When a downlink requests an area that we do not have, XTick will search
  451.   for  the  AREA in the configured FILEBONE listing.  If the area is found,
  452.   XTick  will  then  search  the  configured  UPLINKS  for  a  site that is
  453.   connected to the FDN (File Distribution Network) for that area. If one is
  454.   found, a message is sent to the area MANAGER of that site, requesting the
  455.   area.
  456.     
  457.   FileBone:
  458.     The FileBone is a network of sites, similar to the Echo BackBone, except
  459.   these  site  distribute  FileEchos.   The  FileEchos  distributed  by the
  460.   FileBone  are  listed in the file FILEBONE.NA which is updated weekly and
  461.   distributed in the appropriately named FileEcho, FILEBONE.
  462.     The  format of FILEBONE.NA is documented and XTick can read this format
  463.   to  find  requested  fileechos.  The particular fields XTick uses are the
  464.   names  of  the  fileecho and the FDN and the descriptions of the fileecho
  465.   and FDN.
  466.  
  467.   Auto Creation of New Areas:
  468.     XTick will create new areas when a file is received for an unknown AREA
  469.   from  a  site  that has the AUTOADD permission when the ALLOWCMD template
  470.   item AUTOADDAREAS is specified.  The new directory will be created in the
  471.   AUTOADDPATH  defined,  using  the  name  of the fileecho as the directory
  472.   name.   If the new area is found in the RAIDDATA file created by XRaid (a
  473.   function  of  FWDREQ  permission), the sites listed for that area will be
  474.   also  added  to the AREA config.  XRaid will remove the entry for the new
  475.   area from the RAIDDATA file.  A minimal configuration will be written for
  476.   the area.
  477.  
  478.   Outbound Queue Management:
  479.     XTick  allows  the  use  of  either  XferQ.library or the old Flow File
  480.   system  for outbound management.  This is controlled by the configuration
  481.   keyword, QTYPE.
  482.  
  483.     Only  two  modes  of  disposition are used, Leave and Delete.  Only two
  484.   priorities  are  used,  Hold  and  Route.  The Route priority allows your
  485.   packer  (XFQ)  or mailer (FLO) to select the actual transmission priority
  486.   (eg.  Crash, or Normal).
  487.  
  488.     QTYPE FLO
  489.  
  490.                 Disposition Priority  AsName
  491.     FileToSend  # Leave     F or H    done by mailer  
  492.     .TIC        ^ Delete    F or H    done by mailer
  493.     .HUT        ^ Delete    H         done by mailer
  494.     .OUT        ^ Delete    F         done by mailer
  495.  
  496.     XPRI route hold
  497.       The  XPRI  keyword  defines  the  values  used  for  Route  and  Hold
  498.     priorities.   The  range  is  -127  to  +127.  These should be the same
  499.     values  as  used  in your mailer.  You can set Routed to the same value
  500.     you use for Crash or Normal.
  501.       Tic files are automaticaly set to 1 less than the configured priority.
  502.       Valid only for QTYPE XFQ
  503.  
  504.  
  505.     The  flow  file is created in the defined TIC directory.  Packets (.OUT
  506.   and .HUT) are NOT added to the flow file.  Finding, creating the PKT name
  507.   to  transmit and sending of these is a required function of the MAILER in
  508.   a  Flow  File system.  If your mailer send the files as is (ie with 4d or
  509.   5d filenames), it is broken.
  510.  
  511.     QTYPE XFQ
  512.                 Disposition Priority  AsName
  513.     FileToSend  L Leave     config    automatic (FNC conversion available)
  514.     .TIC        D Delete    config-1  automatic
  515.     .HUT        D Delete    config    automatic
  516.     .OUT        D Delete    config    automatic
  517.     
  518.  
  519.   FileName Conversion:
  520.     When  a site is set for FNC, the file name is converted to an msdos 8.3
  521.   format.   The  converted  filename is placed in the FILE field of the tic
  522.   file and the original filename is placed in an added field, FULLNAME.
  523.     Since xferq system allows one to specify the transmitted filename, no
  524.   further porcessing is needed.
  525.     In  the  FLO File System, the file is copied with the converted name to
  526.   the FLOWFNC directory.  Future versiona may use links instead.
  527.  
  528.  
  529.   Inbound Tic Processing and Security:
  530.     XTick offers many security checks, so that no unwanted files are posted
  531.   and no "illegal" files are passed on.
  532.  
  533.     When  processing a TIC file, the following actions are performed in the
  534.   specified order with the specified results.
  535.  
  536.     area does not exist:
  537.     files moved to BAD, site notified
  538.  
  539.     primary  file  does not exist:
  540.     If  a file exists with the same name, but the last character is changed
  541.     and  has the correct crc, it is renamed to the proper name and
  542.     processed.
  543.     Otherwise, we assume file has not been received yet.
  544.     site notified, tic is left in inbound.
  545.  
  546.     FROM address in FILENOTES of TIC and primary files are not the same:
  547.     Presently, this is LOGGED ONLY
  548.  
  549.     FROM address not found in SEENBYs:
  550.     files moved to BAD, site notified
  551.  
  552.     site is not configured:
  553.     files moved to BAD, site notified
  554.  
  555.     site is not configured for area:
  556.     files moved to BAD, site notified
  557.  
  558.     site does not have Hatch permission:
  559.     files moved to BAD, site notified
  560.  
  561.     our  address is already listed in ORIGIN or PATH fields:
  562.     files moved to BAD, site notified
  563.  
  564.     tic includes a MAGIC keyword but field is empty:
  565.     site notified
  566.  
  567.     tic includes an AREADESC keyword but field is empty:
  568.     site notified
  569.  
  570.     tic includes a TO keyword but field is empty or does not match our HOST
  571.     address for the AREA:
  572.     site notified
  573.  
  574.     SIZE field missing, 0 or empty:
  575.     site notified
  576.  
  577.     Actual  Size  does  not  match  SIZE  field:
  578.     If  a file exists with the same name, but the last character is changed
  579.     and  has  the  correct  crc,  it  is  renamed to the proper name and is
  580.     processed.
  581.     Otherwise, files moved to BAD, site notified.
  582.  
  583.     CRC field is missing, 0 or empty:
  584.     site notified
  585.  
  586.     Actual CRC does not match CRC field: 
  587.     If  a file exists with the same name, but the last character is changed
  588.     and  has the correct crc, it is renamed to the proper name.
  589.     Otherwise files moved to BAD, site notified.
  590.  
  591.     PW field in missing or empty:
  592.     files moved to BAD, site notified.
  593.  
  594.     Password does not match PW in tic:
  595.     files moved to BAD, site notified.
  596.  
  597.  
  598.     Checks NOT done when TIC Processing:
  599.       sending site matchs "From" in the tic
  600.       sending site not in the Seenby's in the tic
  601.  
  602.     The problem:
  603.       These  would involve either the mailer passing the primary address of
  604.     the site (easily done with wpl mailers inbound notification feature) or
  605.     checking the filenotes of the tic and primary files (the only way to do
  606.     it with TrapDoor and similar mailers).  In either case, this check does
  607.     not  take  routing  into  account.   ie:   the  site  may hatch or tick
  608.     passthru  at  40:/0 but route all files via its' AKA 40:6/1 (real world
  609.     example).  The primary AKA would not necessarly appear in the Tic file.
  610.  
  611.  
  612.   Outbound Security:
  613.     When  Hatching or forwarding, the following checks are performed in the
  614.   specified order with the specified results.
  615.     
  616.       area not found:
  617.       error exit
  618.  
  619.       hatch not permitted in area:
  620.       error exit
  621.  
  622.       HATCHFILE path not same as AREA path: 
  623.       If  HATCHFILE exists in AREA path and HATCHOVERWRITE is FALSE, the ,
  624.       existing file is renamed to *.OLD and file moved to AREA path.
  625.  
  626.       no CRC:
  627.       CRC is calculated and included in new TIC
  628.  
  629.       no SIZE:
  630.       SIZE is calculated and included in new TIC
  631.  
  632.       If DESC on commandline,it is used and included in new TIC
  633.       else if DESC in TICINCLUDE, it is used and included in new TIC
  634.       else DESC from FileNote is used included in new TIC
  635. ,     if none, tic DESC is set to 'No description available'
  636.  
  637.       if  TICINCLUDE  exists, it is added to TIC file, there is NO CHECKING
  638.       of contents for duplicate or invalid keywords.
  639.       Exception: If a DESC field is found, it is used.
  640.     
  641.       if MAGICNAME  passed on commandline, MAGIC field added to TIC
  642.  
  643.       if REPLACENAME passed on commandline, REPLACES field added to TIC
  644.  
  645.       SEENBYs are checked for each SITE configured for the AREA, skipped if
  646.       found, added to SEENBY if not
  647.  
  648.       if no SITE configuration for a SITE listed in AREA ECHOTO, site is
  649.       skipped  
  650.  
  651.       If NOSEND or ISFEED is true for a SITE in the AREA, site is skipped
  652.  
  653.  
  654.   Format of a TIC file:
  655.     Keywords  are  case-insensitive  and  order  independant.  There are no
  656.   colons  on  keywords.  Each line is terminated with CR LF pair.  Keywords
  657.   not understood are to be passed-though.
  658.  
  659.     All  Keywords  are  passed through when processing, EXCEPT those marked
  660.   with a ^.  In some cases, a replacement is created.
  661.  
  662.     keywords marked with a * are REQUIRED when hatching and when processing
  663.  
  664.     keywords marked with a # are CREATED when hatching or processing
  665.  
  666.  
  667.     *#  Area [AreaName]
  668.         the TagName of the file area.
  669.  
  670.     *#  Areadesc [description of area]                    OPTIONAL
  671.         a short (80 chards) description of the file area.
  672.  
  673.     *#  File [File being sent]
  674.         the name of the file being sent, no path
  675.  
  676.     ^#  Fullname [original filename before FNC]           OPTIONAL FNC only
  677.  
  678.     *#  Crc [CRC-32 in hex]
  679.         crc of the file being sent, 8 hexadecimal characters
  680.  
  681.     *#  Origin [Address]
  682.         Site where file entered the fileecho
  683.  
  684.     *^# From [Address] [Pwd]
  685.         Site that is forwarding the file to the next site
  686.         Pwd is optional and rarely used. Pwd is not processed nor passed
  687.         through.
  688.  
  689.         To [Address]                        OPTIONAL
  690.         Site  to  which this TIC and the file is being sent.  This field is
  691.         neither created nor passed through.
  692.  
  693.     *^# Created [Program Banner]
  694.         File Forwarder which created the TIC file
  695.  
  696.     *#  Path [Address] [timestamp] [date and time]
  697.         SIte which has forwarded the file
  698.         TimeStamp, date and time is that when the Site received and
  699.         Processed the file.
  700.  
  701.     * # Seenby [Address]
  702.         Site  which  has  received  the  file.  There are multiple lines of
  703.         Seenby and they are unordered.
  704.  
  705.     *   Pw [password]
  706.         Site  or Area password.  This is case-insensitive and may be 6 to 8
  707.         characters in length.
  708.  
  709.         Magic [MagicName]               OPTIONAL
  710.         Name  under  which  the  file can be FREQed from the site listed in
  711.         FROM.   This  is NOT passed though when ticking.  This field can be
  712.         entered in a TicInclude file or specified on HATCHFILE commandline.
  713.  
  714.         Replaces [FileName]               OPTIONAL
  715.  
  716.         This  field  can  be  entered  in a TicInclude file or specified on
  717.         HATCHFILE commandline.
  718.  
  719.      #  Desc [Description]
  720.           Description of the file, limited to 80 characters
  721.  
  722.         LDesc [multiple lines]
  723.           The long description of the file.  This keyword is currently only
  724.           supported  by ALLFIX, FileMgr and XTick.  The long description is
  725.           usually  a  more  detailed  version of the normal description and
  726.           normally consists of several lines.  LDESC does NOT replace DESC,
  727.           it  is used IN ADDITION to the short description.  This field can
  728.           be entered in a TicInclude file.
  729.  
  730.      #  Size [Bytes]
  731.           Length of the file in bytes
  732.  
  733.      #  Date [FileDateStamp]
  734.           DateStamp of the file. Can be date of creation of archive.
  735.           This  field  can be entered in a TicInclude file.
  736.  
  737.      ^ APP [program] [Application Specific Information]
  738.           This field can be entered in TicInclude file.
  739.  
  740.        Release [UnixTimeStamp]
  741.           Date  when file is TO BE released.  Ususally used by SDS, but can
  742.           be used by ADS as well.
  743.           This  field  can be entered in a TicInclude file.
  744.  
  745.        Author [name]
  746.           Name  of the author of the software being hatched.  This field is
  747.           not applicable to Newsletters, Nodelist and Diffs and the like.
  748.           This field can be entered in a TicInclude file.
  749.  
  750.        Source [authors_address]
  751.           FTN  address of the Author.  Not necessary the same as the ORIGIN
  752.           hatch site nor even an FTN address..
  753.           This field can be entered in a TicInclude file.
  754.  
  755.  
  756.     Terminology:
  757.   
  758.     FTN - Fidonet Technolgy Network, such as FIDONET or AMIGANET.
  759.           Used interchangably with the term DOMAIN.
  760.  
  761.     FNC - FileName Conversion, process of converting filename to msdos 8.3
  762.           format for transmission.
  763.  
  764.     FQFA - Fully Qualified FTN Address, the format is
  765.               FTN#Zone:Net/Node.Point
  766.  
  767.     CRC - Cyclic Redundancy Check, method to determine whether some data
  768.         has been altered. CRC-32 is used in File Forwarding.
  769.  
  770.     XferQ  - a multi-tasking and network independant method of managing the
  771.         outbound  queue.   This  method  is  used  by the majority of Amiga
  772.         Mailers,  such  as Porticus, JamMail, Norm, Umbrella, Gazebo, ROCK,
  773.         POP, JAZ, RAP as well as my own private Roof Mailer.
  774.  
  775.     FLO  - a single-tasking file-based method of outbound queue management.
  776.         This msdos-derived method uses files that contain the fullpathnames
  777.         of  files  preceeded by a Disposition flag.  This method is used by
  778.         only a few Amiga Mailers, such as TrapDoor, Xenolink and GMS.
  779.  
  780.     TIC  - a file that contains control information for the File Forwarding
  781.         system.   These  files are named xxSTAMP.TIC, where xx is the first
  782.         two  letters  of  the  File  Forwarding program name and stamp is a
  783.         unixdate stamp trucated to 6 characters.
  784.  
  785.     UTC  -  Universal  Time  Coordinated,  the  time  at  the  0o  meridian
  786.         (Greenwich); previously called GMT
  787.  
  788.  
  789.  
  790.   ToDO: (in no particular order)
  791.  
  792.     -  allow  replacement  of MAGIC name when tic forwarding, would require
  793.         access  to freq.lst config or duplication of freq list magic config
  794.         in XTick.cfg.
  795.  
  796.     -   add + prefix/suffix option to Area A*POST ..maybe
  797.  
  798.     -   Add DATE keyword - FILE timestamp or date of archive creation
  799.  
  800.     -   option to create aminet readme when hatching
  801.  
  802.     -   use file links for FLO Fnc files.
  803.  
  804.